def _input(): return map(int, input().split())
n = int(input())
m = int(input())
lst = sorted([ int(input()) for _ in range(n)]); res= 0
i=n-1
while i>=0:
res+=lst[i]
if res>=m: break
i-=1
print(n-i)
#include<bits/stdc++.h>
using namespace std;
int main() {
long long int n,m,x,usb=0;
cin>>n>>m;
vector<long long int> v;
for(long long int i=0; i<n; i++){
cin>>x;
v.push_back(x);
}
sort(v.begin(), v.end());
for(long long int i=n-1; i>=0; i--){
m-=v[i];
usb+=1;
if(m<=0)
break;
}
cout<<usb<<endl;
return 0;
}
1373C - Pluses and Minuses | 1173B - Nauuo and Chess |
318B - Strings of Power | 1625A - Ancient Civilization |
864A - Fair Game | 1663B - Mike's Sequence |
448A - Rewards | 1622A - Construct a Rectangle |
1620A - Equal or Not Equal | 1517A - Sum of 2050 |
620A - Professor GukiZ's Robot | 1342A - Road To Zero |
1520A - Do Not Be Distracted | 352A - Jeff and Digits |
1327A - Sum of Odd Integers | 1276A - As Simple as One and Two |
812C - Sagheer and Nubian Market | 272A - Dima and Friends |
1352C - K-th Not Divisible by n | 545C - Woodcutters |
1528B - Kavi on Pairing Duty | 339B - Xenia and Ringroad |
189A - Cut Ribbon | 1182A - Filling Shapes |
82A - Double Cola | 45A - Codecraft III |
1242A - Tile Painting | 1663E - Are You Safe |
1663D - Is it rated - 3 | 1311A - Add Odd or Subtract Even |